Meanwhile, I also have thoughts on init systems. As correctly predicted, I will of course end up writing my own.
I can already start experimenting with that on a smaller scale: the mini-initd on the initrd.
I can cheat, and write a first version of the initd that is all Rust, reads the KDL, implements all the nodes itself - so none of the fancy stuff in previous toots. It's goal is to get a feel for it all. And its scale is tiny enough to not overthink it too much ahead of time.
I think I'll slowly start rewriting my initrd initd int Rust, because I'm starting to need stuff that are painful in C.